package com.example.togethermove.ui.fragment;//package com.example.movetogether.ui.fragment;
//
//import android.Manifest;
//import android.app.Activity;
//import android.content.ContentResolver;
//import android.content.Context;
//import android.content.Intent;
//import android.content.pm.PackageManager;
//import android.database.Cursor;
//import android.net.Uri;
//import android.os.Build;
//import android.os.Bundle;
//import android.provider.MediaStore;
//import android.text.TextUtils;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//
//import androidx.core.content.ContextCompat;
//import androidx.core.content.FileProvider;
//
//
//
//import java.io.File;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//
///**
// * @ClassName: HomeFragment
// * @Author: csl
// * @Date:
// * @Description: 上传视频
// */
//public class PostVideoFragment extends BaseFragment {
//
//
//    Unbinder unbinder;
//    @BindView(R.id.iv_headLeft)
//    ImageView ivHeadLeft;
//    @BindView(R.id.tv_headTitle)
//    TextView tvHeadTitle;
//    @BindView(R.id.iv_headRight)
//    ImageView ivHeadRight;
//    @BindView(R.id.tv_headRight)
//    TextView tvHeadRight;
//    @BindView(R.id.tv_seeMethod)
//    TextView tvSeeMethod;
//    @BindView(R.id.et_videourl)
//    EditText etVideourl;
//    @BindView(R.id.et_title)
//    EditText etTitle;
//    @BindView(R.id.ll_upImg)
//    LinearLayout llUpImg;
//    @BindView(R.id.iv_bigimg)
//    ImageView ivBigimg;
//    @BindView(R.id.tv_commit)
//    TextView tvCommit;
//    @BindView(R.id.tv_support)
//    TextView tv_support;
//    @BindView(R.id.tv_open)
//    TextView tv_open;
//
//    String imgUrl = "";
//    int width = 0;
//    int height = 0;
//    private boolean isOpen = false;
//
//    @Nullable
//    @Override
//    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//        super.onCreateView(inflater, container, savedInstanceState);
//        View view = inflater.inflate(R.layout.fragment_postvideo, null);
//        unbinder = ButterKnife.bind(this, view);
//        tvHeadTitle.setText("发布作品");
//        tvHeadRight.setText("攻略");
//        tvHeadRight.setVisibility(View.VISIBLE);
//        tvHeadTitle.setVisibility(View.VISIBLE);
////        doc = new HomeListDoc();
////        doc.setPageNum(1).setPageSize(20);
//        init();
////        if (ConfigUtil.isLogin())
////            loadDate();
//        return view;
//    }
//
//    private void init() {
//        HttpMethods.getInstance().supportVideo(new PlayFinishDoc()).subscribe(new MyObserver<SupportVideoBean>() {
//            @Override
//            protected void onError(ApiException ex) {
//
//            }
//
//            @Override
//            public void onSubscribe(Disposable d) {
//
//            }
//
//            @Override
//            public void onNext(SupportVideoBean info) {
//                if (info != null && info.getVideoPlatformVOS() != null && info.getVideoPlatformVOS().size() > 0) {
//                    int size = info.getVideoPlatformVOS().size();
//                    String str = "支持平台：";
//                    for (int i = 0; i < size; i++) {
//                        if (i == size - 1) {
//                            str = str + info.getVideoPlatformVOS().get(i).getPlatformName() + "。";
//                        } else {
//                            str = str + info.getVideoPlatformVOS().get(i).getPlatformName() + "、";
//                        }
//                    }
//                    tv_support.setText(str);
//                }
//
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        });
//
//    }
//
//    @SingleClick
//    @OnClick({R.id.iv_headLeft, R.id.tv_headRight, R.id.tv_open, R.id.tv_seeMethod, R.id.ll_upImg, R.id.iv_bigimg, R.id.tv_commit})
//    public void onViewClicked(View view) {
//        switch (view.getId()) {
//            case R.id.iv_headLeft:
//                MyApp.mainSwitchPage(0);
//                break;
//            case R.id.tv_headRight://攻略
//                toNewActivity(WebViewActivity.class, Config.Introduction);
//                break;
//            case R.id.tv_open://展开
//                if (isOpen) {
//                    isOpen = false;
//                    tv_open.setText("展开");
//                    tv_support.setLines(1);
//                } else {
//                    isOpen = true;
//                    tv_open.setText("收起");
//                    tv_support.setLines(4);
//                }
//
//                break;
//            case R.id.tv_seeMethod://如何获取连接
//                toNewActivity(WebViewActivity.class, Config.getlink);
//                break;
//            case R.id.ll_upImg:
//                new ChoosePicDialog(getActivity()).setFunction(new Function<Integer, Void>() {
//                    @Override
//                    public Void apply(Integer o) {
//                        if (o == 0) {
//                            showChoosePhotoAction();
//                        } else if (o == 1) {
//                            showCameraAction();
//                        }
//                        return null;
//                    }
//                }).show();
//                break;
//            case R.id.iv_bigimg:
//                new ChoosePicDialog(getActivity()).setFunction(new Function<Integer, Void>() {
//                    @Override
//                    public Void apply(Integer o) {
//                        if (o == 0) {
//                            showChoosePhotoAction();
//                        } else if (o == 1) {//上传视频
//                            showCameraAction();
//                        }
//                        return null;
//                    }
//                }).show();
//                break;
//            case R.id.tv_commit:
//                commitData();
//
//                break;
//        }
//    }
//
//    private void cleardata() {
//        imgUrl = "";
//        width = 0;
//        height = 0;
//        etVideourl.setText("");
//        etTitle.setText("");
//        ivBigimg.setVisibility(View.GONE);
//        llUpImg.setVisibility(View.VISIBLE);
//    }
//
//    //发布视频及图片
//    private void commitData() {
//        if (etVideourl.getText().toString().length() == 0) {
//            showToast("请输入作品链接");
//            return;
//        }
//        if (etTitle.getText().toString().length() == 0) {
//            showToast("请输入作品标题");
//            return;
//        }
//        if (imgUrl.length() == 0) {
//            showToast("请上传作品封面");
//            return;
//        }
//
//        PostVideoDoc doc = new PostVideoDoc();
//        doc.setTitle(etTitle.getText().toString()).setVideoFace(imgUrl).setVideoUrl(etVideourl.getText().toString())
//                .setVideoFaceWidth(width + "").setVideoFaceHeight(height + "");
//        toNewActivity(WebView11Activity.class, JsonUtils.serialize(doc));
//        cleardata();
//    }
//
//    /**
//     * 图片上传
//     *
//     * @param file
//     */
//    private void uploadMemberImg(File file) {
//        FileUploadData.FileUploadDataBind bind = new FileUploadData.FileUploadDataBind().setMemberId(ConfigUtil.getMemberId());
//        FileUploadData fileUploadData = new FileUploadData(null, new FileUploadData.FileEntry("image/png", file))
//                .setData(bind);
//        HttpMethods.getInstance().memberIconUpload(fileUploadData).subscribe(new Observer<FileUploadRData>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//                Log.e("fileUpload", "onSubscribe");
//                addDisposable(d);
//                showProgressBar();
//            }
//
//            @Override
//            public void onNext(FileUploadRData s) {
//                Log.e("fileUpload", "onNext: " + s);
//                hideProgressBar();
//                //将照片文件放入集合中
//                imgUrl = s.getFileInfo().getFileLink();
//                width = s.getFileInfo().getWidth();
//                height = s.getFileInfo().getHeight();
//                Glide.with(getActivity()).load(imgUrl).into(ivBigimg);
//                ivBigimg.setVisibility(View.VISIBLE);
//                llUpImg.setVisibility(View.GONE);
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                Log.e("fileUpload", "onError");
//                hideProgressBar();
//            }
//
//            @Override
//            public void onComplete() {
//                Log.e("fileUpload", "onComplete");
//            }
//        });
//    }
//
//
//    @Override
//    public void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (resultCode == Activity.RESULT_OK) {
//            if (requestCode == Constants.REQUEST_CAMERA_CODE) {
//                Uri uri = Uri.fromFile(mFile);
//                uploadMemberImg(mFile);
////
//            } else if (requestCode == Constants.REQUEST_IMAGE_CODE) {
//
//                Uri imageUri = data.getData();
//                //处理uri,7.0以后的fileProvider 把URI 以content provider 方式 对外提供的解析方法
//                File file = getFileFromUri(imageUri, getActivity());
//                uploadMemberImg(file);
//            }
////
//        }
//    }
//
//    // 选择图片上传
//    @Override
//    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//        boolean granted = true;
//        for (int i = 0; i < grantResults.length; i++) {
//            granted = grantResults[i] == PackageManager.PERMISSION_GRANTED;
//            if (!granted)
//                break;
//        }
//        if (granted) {
//            if (requestCode == Constants.REQUEST_CAMERA_PERMISSIONS)
//                showCameraAction();
//            else if (requestCode == Constants.REQUEST_PHOTO_PIC_PERMISSIONS)
//                showChoosePhotoAction();
//        }
//    }
//
//    private void showCameraAction() {
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//            List<String> permissions = new ArrayList<>();
//            if (ContextCompat.checkSelfPermission(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
//                    != PackageManager.PERMISSION_GRANTED) {
//                permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
//            }
//            if (permissions.size() > 0) {
//                String[] permsArray = new String[permissions.size()];
//                permissions.toArray(permsArray);
//                requestPermissions(permsArray, Constants.REQUEST_CAMERA_PERMISSIONS);
//            } else {
//                openCamera();
//            }
//        } else {
//            openCamera();
//        }
//    }
//
//    private void showChoosePhotoAction() {
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//            List<String> permissions = new ArrayList<>();
//            if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
//                    != PackageManager.PERMISSION_GRANTED) {
//                permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
//            }
//            if (permissions.size() > 0) {
//                String[] permsArray = new String[permissions.size()];
//                permissions.toArray(permsArray);
//                requestPermissions(permsArray, Constants.REQUEST_PHOTO_PIC_PERMISSIONS);
//            } else {
//                openAlbum();
//            }
//        } else {
//            openAlbum();
//        }
//    }
//
//    /**
//     * 通过内容解析中查询uri中的文件路径
//     */
//    private File mFile;
//    private Uri mImageUri;
//
//    //打开照相机
//    private void openCamera() {
//        //创建文件用于保存图片
//        mFile = new File(getActivity().getExternalCacheDir(), System.currentTimeMillis() + ".jpg");
//        if (!mFile.exists()) {
//            try {
//                mFile.createNewFile();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//        //适配7.0
//        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
//            mImageUri = Uri.fromFile(mFile);
//        } else {
//            //第二个参数要和清单文件中的配置保持一致
//            mImageUri = FileProvider.getUriForFile(getActivity(), getActivity().getPackageName() + ".fileprovider", mFile);
//        }
//
//        //启动相机
//        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//        intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);//将拍照图片存入mImageUri
//        startActivityForResult(intent, Constants.REQUEST_CAMERA_CODE);
//    }
//
//    //打开相册
//    private void openAlbum() {
//        Intent intent = new Intent(Intent.ACTION_PICK);
//        intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
//        startActivityForResult(intent, Constants.REQUEST_IMAGE_CODE);
//    }
//
//    public File getFileFromUri(Uri uri, Context context) {
//        if (uri == null) {
//            return null;
//        }
//        switch (uri.getScheme()) {
//            case "content":
//                return getFileFromContentUri(uri, context);
//            case "file":
//                return new File(uri.getPath());
//            default:
//                return null;
//        }
//    }
//
//    /**
//     * 通过内容解析中查询uri中的文件路径
//     */
//    private File getFileFromContentUri(Uri contentUri, Context context) {
//        if (contentUri == null) {
//            return null;
//        }
//        File file = null;
//        String filePath;
//        String[] filePathColumn = {MediaStore.MediaColumns.DATA};
//        ContentResolver contentResolver = context.getContentResolver();
//        Cursor cursor = contentResolver.query(contentUri, filePathColumn, null,
//                null, null);
//        if (cursor != null) {
//            cursor.moveToFirst();
//            filePath = cursor.getString(cursor.getColumnIndex(filePathColumn[0]));
//            cursor.close();
//
//            if (!TextUtils.isEmpty(filePath)) {
//                file = new File(filePath);
//            }
//        }
//        return file;
//    }
//}
